how much math do you need in software engineering